﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Texfina.BOQry.Co;
using Texfina.Core.Common;

namespace CO
{
    public partial class wfFacturaBnd : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                LlenarGrid();

            }
        }


        private void LlenarGrid()
        {
            try
            {
              
                //periodo llenar con sesion

                gvList.DataSource = BFactura.Factura_qry01(Session[ConstSessionVar.PERIODO].ToString(), Session[ConstSessionVar.EMPRESA].ToString(), txtNumFac.Text, txtProveedor.Text, (ucControlFecha1.Text), (ucControlFecha2.Text),  txtProducto.Text, txtIdOrdenCompra.Text);
                //registerScript();
                gvList.DataBind();

            }
            catch (Exception ex)
            {
                Response.Write(ex.ToString());
            }

        }


        public void registerScript()
        {
            StringBuilder str = new StringBuilder();

            str.AppendLine("$(document).ready(function () {");
            // Indicar al pluging Metadata que los metadatos deberá buscarlos en el atributo class.
            str.AppendLine("$.metadata.setType('class');");

            str.AppendLine("$('table.grid').each(function () {");
            str.AppendLine("var grid = $(this);");

            // Por cada GridView que se encuentre modificar el código HTML generado para agregar el THEAD.
            str.AppendLine("if (grid.find('tbody > tr > th').length > 0) {");
            str.AppendLine("grid.find('tbody').before('<thead><tr></tr></thead>');");
            str.AppendLine("grid.find('thead:first tr').append(grid.find('th'));");
            str.AppendLine("grid.find('tbody tr:first').remove();");
            str.AppendLine("}");


            // Si el GridView tiene la clase "sortable" aplicar el plugin DataTables si tiene más de 10 elementos.
            str.AppendLine("if (grid.hasClass('sortable') && grid.find('tbody:first > tr').length > 10) {");
            str.AppendLine("grid.dataTable({");
            str.AppendLine("bJQueryUI: true,");
            str.AppendLine("iDisplayLength: 25,");
            //str.AppendLine("sScrollY: '100%',");

            str.AppendLine("sScrollY: '500px',");
            //str.AppendLine("bPaginate: false,");
            //str.AppendLine("bScrollCollapse: true,");

            str.AppendLine("sPaginationType: 'full_numbers',");
            str.AppendLine("aoColumnDefs: [");
            str.AppendLine("{ bSortable: false, aTargets: grid.metadata().disableSortCols }");
            str.AppendLine("]");
            str.AppendLine("});");
            str.AppendLine("}");
            str.AppendLine("});");

            str.AppendLine("});");

            ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptRegister", str.ToString(), true);

        }


        protected void txtBuscar_Click(object sender, EventArgs e)
        {
            LlenarGrid();
        }

        protected void gvList_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "Detalle":
                    string Id_factura = (string)e.CommandArgument;
                    Hashtable htDatos = new Hashtable();
                    htDatos.Add("Id_factura", Id_factura);
                    htDatos.Add("in_ventana", "1");
                    Session["htaidFactura"] = htDatos;
                    Session["htaOCFac"] = null;
                    Response.Redirect("wfFactura.aspx");
                    break;
           }
        }
    }
}